]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
portalHelper: Port to ESM
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 25 May 2023 20:22:09 +0000 (22:22 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 21 Jun 2023 11:26:42 +0000 (13:26 +0200)
The helper app that provides the login dialog for network portals
is another separate process that can be moved to ESM separately.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2786>

.eslintrc.yml
js/portalHelper/main.js
src/gnome-shell-portal-helper.c

index 4fdede6656f460f2b4c3aae920bae8fc76144c4e..4e857e0e05e04a80c0b44fe83b84dcd47c9fcf4c 100644 (file)
@@ -5,6 +5,7 @@ overrides:
   - files:
       - js/ui/init.js
       - js/dbusServices/**
+      - js/portalHelper/**
       - subprojects/extensions-app/**
     parserOptions:
       sourceType: module
index 186259609be1fe03e825310333bfdfdb6cf1cdd2..1f16537cd66661e7bb45e067e10e54b7f84a4ab5 100644 (file)
@@ -1,10 +1,12 @@
-/* exported main */
-imports.gi.versions.Adw = '1';
-imports.gi.versions.Gtk = '4.0';
-imports.gi.versions.WebKit = '6.0';
+import Adw from 'gi://Adw?version=1';
+import Gio from 'gi://Gio';
+import GLib from 'gi://GLib';
+import GObject from 'gi://GObject';
+import Gtk from 'gi://Gtk?version=4.0';
+import WebKit from 'gi://WebKit?version=6.0';
 
-const Gettext = imports.gettext;
-const {Adw, Gio, GLib, GObject, Gtk, WebKit} = imports.gi;
+import * as Gettext from 'gettext';
+import {programInvocationName, programArgs} from 'system';
 
 const _ = Gettext.gettext;
 
@@ -360,13 +362,8 @@ class WebPortalHelper extends Adw.Application {
     }
 });
 
-/**
- * @param {string[]} argv - command line arguments
- */
-function main(argv) {
-    Gettext.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
-    Gettext.textdomain(Config.GETTEXT_PACKAGE);
+Gettext.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
+Gettext.textdomain(Config.GETTEXT_PACKAGE);
 
-    let app = new WebPortalHelper();
-    return app.run(argv);
-}
+const app = new WebPortalHelper();
+await app.runAsync([programInvocationName, ...programArgs]);
index 9e03a482da02d02b9a5fe212c3dd56627f78bba4..5e0fb9955eebbd648ade02d688fe107867d77c2e 100644 (file)
@@ -11,7 +11,7 @@ main (int argc, char *argv[])
   const char *search_path[] = { "resource:///org/gnome/shell", NULL };
   GError *error = NULL;
   GjsContext *context;
-  int status;
+  uint8_t status;
 
   bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
@@ -24,14 +24,10 @@ main (int argc, char *argv[])
 
   gjs_context_set_argv(context, argc - 1, (const char**)argv + 1);
 
-  if (!gjs_context_eval (context,
-                         "const Main = imports.portalHelper.main;"
-                         "const {programInvocationName, programArgs} = imports.system;"
-                         "Main.main([programInvocationName, ...programArgs]);",
-                         -1,
-                         "<main>",
-                         &status,
-                         &error))
+  if (!gjs_context_eval_module_file (context,
+                                     "resource:///org/gnome/shell/portalHelper/main.js",
+                                     &status,
+                                     &error))
     {
       g_message ("Execution of main.js threw exception: %s", error->message);
       g_error_free (error);